91907513cba4493f37f8aa86a7c14578d8bb065e,src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java,MergeTask,call,#,197
Before Change
public ColumnFamily call() throws Exception
{
ColumnFamily cf = null;
for (Row row : rows)
{
ColumnFamily thisCF = row.cf;
if (cf == null)
{
cf = thisCF;
}
else
{
// addAll is ok even if cf is an ArrayBackedSortedColumns
SecondaryIndexManager.Updater indexer = controller.cfs.indexManager.updaterFor(row.key, false);
cf.addAllWithSizeDelta(thisCF, HeapAllocator.instance, Functions.<Column>identity(), indexer);
}
}
After Change
public ColumnFamily call() throws Exception
{
final ColumnFamily returnCF = ColumnFamily.create(controller.cfs.metadata, ArrayBackedSortedColumns.factory());
List<CloseableIterator<Column>> data = new ArrayList<CloseableIterator<Column>>(rows.size());
for (Row row : rows)
{
returnCF.delete(row.cf);
data.add(FBUtilities.closeableIterator(row.cf.iterator()));
}
PrecompactedRow.merge(returnCF, data, controller.cfs.indexManager.updaterFor(rows.get(0).key, false));
return PrecompactedRow.removeDeletedAndOldShards(rows.get(0).key, controller, returnCF);
}
}